package com.smart.community.region.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.smart.community.commons.base.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 店铺租金记录实体类
 * 
 * @author Wu.Liang
 * @version 1.0.0
 * @since 2025-09-30
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("sc_shop_rent_record")
public class ShopRentRecord extends BaseEntity {
    /**
	 * @author Wu.Liang
	 * @date 2025年9月30日
	 */
	private static final long serialVersionUID = 8044752568682001533L;

    /**
     * 店铺ID
     */
    @TableField("shop_id")
    private Long shopId;
    
    /**
     * 租金金额
     */
    @TableField("rent_amount")
    private BigDecimal rentAmount;
    
    /**
     * 租金月份(YYYY-MM)
     */
    @TableField("rent_month")
    private String rentMonth;
    
    /**
     * 是否月度租金：0-否，1-是
     */
    @TableField("is_monthly_rent")
    private Integer isMonthlyRent;
    
    /**
     * 租赁开始日期
     */
    @TableField("lease_start_date")
    private LocalDate leaseStartDate;
    
    /**
     * 租赁结束日期
     */
    @TableField("lease_end_date")
    private LocalDate leaseEndDate;
    
    /**
     * 租金期间
     */
    @TableField("rent_period")
    private String rentPeriod;
    
    /**
     * 租金开始日期
     */
    @TableField("rent_start_date")
    private LocalDate rentStartDate;
    
    /**
     * 租金结束日期
     */
    @TableField("rent_end_date")
    private LocalDate rentEndDate;
    
    /**
     * 支付状态：0-未支付，1-已支付，2-逾期
     */
    @TableField("payment_status")
    private Integer paymentStatus;
    
    /**
     * 支付日期
     */
    @TableField("payment_date")
    private LocalDateTime paymentDate;
    
    /**
     * 支付方式
     */
    @TableField("payment_method")
    private String paymentMethod;
    
    /**
     * 发票号码
     */
    @TableField("invoice_number")
    private String invoiceNumber;
    
    /**
     * 备注
     */
    @TableField("remark")
    private String remark;
}
